package com.ylsk.check.domain.vo;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.ylsk.check.domain.CheckItemRecord;
import com.ylsk.common.annotation.Excel;
import com.ylsk.system.domain.FileSimple;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 施工检查记录对象 ins_check_record
 *
 * @author yangsy
 * @date 2023-12-18
 */
@Data
public class CheckRecordVO implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 施工检查记录id */
    private Long checkRecordId;

    /** 项目报备id */
    private Long reportInfoId;

    /** 项目报备流水号 */
    @Excel(name = "项目报备流水号")
    private String reportNum;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 检查类型 */
    @Excel(name = "检查类型",readConverterExp = "0=施工检查,1=撤场检查")
    private Integer checkType;

    /** 检查内容 */
    private String checkContent;

    /** 检查方式 */
    @Excel(name = "检查方式",readConverterExp = "0=线上检查,1=现场检查,2=网络+现场检查")
    private Integer checkMethod;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "检查时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 现场联系人 */
    @Excel(name = "现场联系人")
    private String head;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String telePhone;

    /** 问题描述 */
    private String problemDesc;

    /** 问题现场照及视频 */
    private Long problemFileId;

    /** 经度 */
    private BigDecimal longitude;

    /** 纬度 */
    private BigDecimal latitude;

    /** 道路名称 */
    @Excel(name = "道路名称")
    private String roadName;

    /** 所属大队 */
    private Long deptId;

    /** 所属大队名称 */
    @Excel(name = "所属管辖大队")
    private String deptName;

    /** 检查人 */
    private Long checkBy;

    /** 检查人名称 */
    @Excel(name = "检查人")
    private String checkByName;

    /** 同行检查人 */
    private Long peerReviewer;

    /** 同行检查人名称 */
    @Excel(name = "同行检查人")
    private String peerReviewerName;

    /** 是否通知施工方 */
    @Excel(name = "是否通知施工方",readConverterExp = "0=否,1=是")
    private Integer isNoticeCons;

    /** 上报业务数据id */
    private Long reportBusinessId;

    /** 数据来源 表名称 */
    private String tbName;

    /***
     * 施工检查记录
     */
    private List<CheckItemRecord> checkItemRecordList;

    /***
     * 问题现场照及视频 附件
     */
    private List<FileSimple> problemFile;

}
